﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimpleData.Data
{
	/// <summary>
	/// Define quais propriedades do objeto serão carregadas
	/// </summary>
	/// <typeparam name="TEntity"></typeparam>
	public interface IFetchStrategy<TEntity>
		where TEntity : class
	{

		/// <summary>
		/// Adiciona as propriedades que devem ser carregadas por eagerload
		/// </summary>
		/// <param name="query"></param>
		/// <returns></returns>
		IQueryable<TEntity> Configure( IQueryable<TEntity> query );
	}
}
